var express = require('express');
var router = express.Router();
var request = require('request');

var CommonJS = require('../../../common/common');
var DBConfig = require('../../../db/dbconfig');
var Wx_config = require('../../../wx_config/wx_config');
var mysql = require('mysql');
var pool = mysql.createPool(DBConfig.mysql2);
	

// 领卷中心
router.get('/jkyx/conpouCenter', function(req, res, next) {
	// 当前时间
	var create_time = CommonJS.timestamp();
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.conpouCenter,function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100',
	     			results: results
	     		}));
			}
		})
	})
});
// 领取优惠券
router.get('/jkyx/conpou_recive', function(req, res, next) {
	var param = req.query || req.params; 
	var account_id = param.account_id; // 用户ID
	var conpou_id = param.conpou_id;   // 优惠券ID
	// 当前时间
	var create_time = CommonJS.getNowFormatDate();
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.isRecviceConpou,[conpou_id,account_id],function (err, results) {
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				if (results.length > 0) {
					res.end(JSON.stringify({
		     			msg: '您已经领取过，请忽重复领取',
		     			status:'103',
		     			err: err
		     		}));
				} else{
					// 领取优惠券
					connection.query(DBConfig.recviceConpou,[conpou_id,account_id,create_time],function (err, results) {
//						connection.release();
						if (err){
						  	res.end(JSON.stringify({
				     			msg: '数据库查询失败',
				     			status:'102',
				     			err: err
				     		}));
						}else{
							// 修改可用数量
							connection.query('select available_num from jkyx_coupon where id = ?',[conpou_id],function (err, results) {
								if (err){
								  	res.end(JSON.stringify({
						     			msg: '数据库查询失败',
						     			status:'102',
						     			err: err
						     		}));
								}else{
									var available_num = results[0].available_num;
									available_num = available_num - 1;
									if (available_num <= 0) {
										available_num = 0;
									}
									connection.query('update jkyx_coupon set available_num = ? where id = ?',[available_num,conpou_id],function (err, results) {
										connection.release();
										if (err){
										  	res.end(JSON.stringify({
								     			msg: '数据库查询失败',
								     			status:'102',
								     			err: err
								     		}));
										}else{
											res.end(JSON.stringify({
								     			msg: '领取成功',
								     			status:'100'
								     		}));
										}
									})
								}
							})
						}
					})
				}
			}
		})
	})
});

// 用户的卡卷
router.get('/jkyx/conpou_userList', function(req, res, next) {
	var param = req.query || req.params; 
	var account_id = param.account_id; // 用户ID
	var type = param.type; // 0:可使用 1：使用记录 2.已过期
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.conpouUserList,[account_id],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				var data = results;
				var dataLen = data.length;
				var tempArray = [];  // 可以使用的
				var tempArray2 = []  // 已过期的
				var tempArray3 = []  // 已使用的
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100',
	     			results: data
	     		}));
				for (var i = 0; i < dataLen; i++) {
					var timeStr = data[i].overdue_time.split('T');
					var timeSpace = CommonJS.formatToTimestamp(timeStr);
					data[i].start_time = data[i].start_time.split('T')[0];
					data[i].end_time = data[i].end_time.split('T')[0];
					if (timeSpace > CommonJS.timestamp()) {
						tempArray.push(data[i]); // 可以使用的
					}else{
						tempArray2.push(data[i]); // 已过期的
					}
					//  1:可使用 0：使用记录 2.已过期",
					if (data[i].status == 0) {
						tempArray3.push(data[i]);
					}
				}
				switch (type){
					case '0': // 可使用
					res.end(JSON.stringify({
		     			msg: '操作成功',
		     			status:'100',
		     			results: tempArray
		     		}));
						break;
					case '1': // 已使用
					res.end(JSON.stringify({
		     			msg: '操作成功',
		     			status:'100',
		     			results: tempArray3
		     		}));
						break;
					case '2': // 2.已过期
					res.end(JSON.stringify({
		     			msg: '操作成功',
		     			status:'100',
		     			results: tempArray3
		     		}));
						break;
					default:
						break;
				}
			}
		})
	})
});

// 用户使用优惠券
router.get('/jkyx/conpou_used', function(req, res, next) {
	var param = req.query || req.params; 
	var account_id = param.account_id; // 用户ID
	var type = param.type; //  1:可使用 0：使用记录 2.已过期",
	var coupon_id = param.coupon_id; // 优惠券ID
    pool.getConnection(function(err, connection) {
		if(err){
			res.end(JSON.stringify({
     			msg: '数据库连接失败',
     			status:'101',
     		}));
		}
		connection.query(DBConfig.changeConpouStatus,[type,coupon_id,account_id],function (err, results) {
			connection.release();
			if (err){
			  	res.end(JSON.stringify({
	     			msg: '数据库查询失败',
	     			status:'102',
	     			err: err
	     		}));
			}else{
				res.end(JSON.stringify({
	     			msg: '操作成功',
	     			status:'100'
	     		}));
			}
		})
	})
});




module.exports = router;
